// pages/bar/me/attentionSchool/attentionSchool.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    screenHeight: app.globalData.screenHeight,
    schoolList: [],
    pageSize: 10,
    pageNum: 1,
    isData: false,
    startX: 0, //开始坐标
    startY: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({
      schoolList:[],
      pageNum: 1,
    })
    this.getCollectionSchool();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  touchE: function (e) {
    // console.log(e);
    var that = this
    if (e.changedTouches.length == 1) {
      //手指移动结束后触摸点位置的X坐标
      var endX = e.changedTouches[0].clientX;
      //触摸开始与结束，手指移动的距离
      var disX = that.data.startX - endX;
      var delBtnWidth = that.data.delBtnWidth;
      //如果距离小于删除按钮的1/2，不显示删除按钮
      var txtStyle = disX > delBtnWidth / 2 ? "left:-" + delBtnWidth + "rpx" : "left:0rpx";

      //获取手指触摸的是哪一项
      var index = e.currentTarget.dataset.index;
      var schoolList = that.data.schoolList;
      schoolList[index].txtStyle = txtStyle;
      //更新列表的状态
      that.setData({
        schoolList: schoolList
      });
    }
  },
  //手指触摸动作开始 记录起点X坐标
  touchstart: function (e) {
    //开始触摸时 重置所有删除
    this.data.schoolList.forEach(function (v, i) {
      if (v.isTouchMove) //只操作为true的
        v.isTouchMove = false;
    })
    this.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY,
      schoolList: this.data.schoolList
    })
  },
  //滑动事件处理
  touchmove: function (e) {
    var that = this,
      index = e.currentTarget.dataset.index, //当前索引
      startX = that.data.startX, //开始X坐标
      startY = that.data.startY, //开始Y坐标
      touchMoveX = e.changedTouches[0].clientX, //滑动变化坐标
      touchMoveY = e.changedTouches[0].clientY, //滑动变化坐标
      //获取滑动角度
      angle = that.angle({
        X: startX,
        Y: startY
      }, {
        X: touchMoveX,
        Y: touchMoveY
      });
    that.data.schoolList.forEach(function (v, i) {
      v.isTouchMove = false
      //滑动超过30度角 return
      if (Math.abs(angle) > 30) return;
      if (i == index) {
        if (touchMoveX > startX) //右滑
          v.isTouchMove = false
        else //左滑
          v.isTouchMove = true
      }
    })
    //更新数据
    that.setData({
      schoolList: that.data.schoolList
    })
  },
  /**
   * 计算滑动角度
   * @param {Object} start 起点坐标
   * @param {Object} end 终点坐标
   */
  angle: function (start, end) {
    var _X = end.X - start.X,
      _Y = end.Y - start.Y
    //返回角度 /Math.atan()返回数字的反正切值
    return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  },
  getCollectionSchool() {
    let that = this;
    let data = {};
    // console.log(app.globalData);
    data.userId = app.globalData.user.id;
    // data.userId=2;
    data.pageSize = this.data.pageSize;
    data.pageNum = this.data.pageNum;
    app.globalData.wxRequest.requestGet('school/getCollectionSchool.do', data).then(res => {
      //  console.error("res",res);
      if (res.code == '201') {
        wx.showToast({
          title: res.msg,
          icon: 'error'
        })
      }
      if (res.code == 200) {
        let schoolList = that.data.schoolList;
        let list = schoolList.concat(res.data.result);
        let isData = false;
        if (res.data.result.length < res.data.pageSize || res.data.pageSize * res.data.pageNum >= res.data.total) {
          isData = true;
        }
        that.setData({
          schoolList: list,
          pageNum: res.data.pageNum + 1,
          pageNum: res.data.pageSize,
          isData: isData
        })
      }
    }).catch(err => {
      console.log(err);
      wx.showToast({
        title: '请求失败',
        icon: 'error'
      })
    });
  },
  toSchoolInfo(e) {
    let id = e.currentTarget.dataset.schoolid;
    wx.navigateTo({
      url: '/pages/schoolinfo/schoolinfo?id=' + id,
    })
  },
  delBtn(e) {
    let that = this;
    let id = e.currentTarget.dataset.id;
    app.globalData.wxRequest.requestGet('user/removeCollection.do', {
      id: id
    }).then(res => {
      // console.log(res);
      if (res.code == '201') {
        wx.showToast({
          title: res.msg,
          icon: 'error'
        })
      }
      this.setData({
        schoolList: [],
        pageNum: 1
      })
      that.getCollectionSchool()
    }).catch(err => {
      wx.showToast({
        title: '请求失败',
        icon: 'error'
      })
    })
  }
})